load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")

package(default_visibility = ["//:__subpackages__"])  # keep

licenses(["notice"])  # keep

go_library(
    name = "go_default_library",
    srcs = [
        "aes_cmac_key_manager.go",
        "hmac_key_manager.go",
        "mac.go",
        "mac_factory.go",
        "mac_key_templates.go",
    ],
    importpath = "github.com/google/tink/go/mac",
    visibility = ["//visibility:public"],
    deps = [
        "//core/cryptofmt:go_default_library",
        "//core/primitiveset:go_default_library",
        "//core/registry:go_default_library",
        "//keyset:go_default_library",
        "//mac/subtle:go_default_library",
        "//proto:aes_cmac_go_proto",
        "//proto:common_go_proto",
        "//proto:hmac_go_proto",
        "//proto:tink_go_proto",
        "//signature:go_default_library",
        "//subtle/random:go_default_library",
        "//tink:go_default_library",
        "@org_golang_google_protobuf//proto:go_default_library",
    ],
)

go_test(
    name = "go_default_test",
    srcs = [
        "aes_cmac_key_manager_test.go",
        "hmac_key_manager_test.go",
        "mac_factory_test.go",
        "mac_key_templates_test.go",
        "mac_test.go",
    ],
    embed = [":go_default_library"],
    deps = [
        "//core/cryptofmt:go_default_library",
        "//core/registry:go_default_library",
        "//mac/subtle:go_default_library",
        "//proto:aes_cmac_go_proto",
        "//proto:common_go_proto",
        "//proto:hmac_go_proto",
        "//proto:tink_go_proto",
        "//subtle:go_default_library",
        "//subtle/random:go_default_library",
        "//testkeyset:go_default_library",
        "//testutil:go_default_library",
        "//tink:go_default_library",
        "@org_golang_google_protobuf//proto:go_default_library",
    ],
)
